General-purpose speech engines are trained on large corpus. However, studies and experiments have shown that when such speech engines are used to recognize spoken sentences in specific domains they may not produce accurate automatic speech recognition (ASR) output. Further, accent and environmental conditions in which a speaker speaks a sentence may induce a speech engine to recognize certain words or sets of words inaccurately. Thus, the speech engine's output may need to be repaired for a domain before any further natural language processing is carried out.